#ifndef EPHYSICS_H
#define EPHYSICS_H

class b2World;
class b2Body;
#include "../Engine_global.h"

class ENGINESHARED_EXPORT EPhysics
{
public:
    enum BodyType
    {
        BT_Static,
        BT_Kinematic,
        BT_Dynamic
    };

    EPhysics(const QPointF& gravity);
    ~EPhysics();

    void update(float dt);

    b2World* world() const;

    // body methods
    b2Body* createBody(BodyType type, float initialX, float initialY, float initialAngleDeg);
private:
    b2World* m_pWorld;
};

#endif // EPHYSICS_H
